首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Centos 7 升级 Glibc-2.28

Centos 7 升级 Glibc-2.28

原创
作者头像
xcsoft
发布2022-06-14 00:07:13
发布2022-06-14 00:07:13
34.4K7
举报
文章被收录于专栏:星辰日记星辰日记

最近在捣鼓 Hexo 相关的评论系统, 一开始使用的是 Waline. 前端部署在 Vercel, 数据库使用的是官方推荐的Leancloud. 整体相应速度真的挺慢. 在尝试修改 Vercel 的serverless function所属位置后, 依旧达不到理想的速度.

于是我试着将其完全迁移至了自己的服务器, 直接使用官方提供的 docker compose 部署, 数据库采用的是mysql. 但是一直不满意其 评论时的速度. 因为我使用了邮件推送. 但是Waline貌似不支持 异步发信. 导致评论速度 很慢.

无意中了解到了 Artalk, 他是使用 Golang 开发的一款评论系统, 并且很好的支持了异步发信(应该是得益于Golang的goroutine). 并且Artalk也提供了一个叫做Artransfer的cli工具, 支持从原先的多种评论系统直接导出至Artalk.

于是我便尝试使用其工具导出评论, 可能我服务器的 linux 内核版本较老, 貌似只支持到GLIBC_2.2.6, 而 Artalk 需要GLIBC_2.28. 其实在之前使用 nvm 安装 nodejs-18.2.0 时, 就曾遇到该问题. 但我那时因为麻烦, 直接选择了 nodejs-17.9.0.

安装 glibc-2.28

代码语言:shell
复制
# 下载并解压 glibc-2.28
$ wget https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz
$ tar -xzvf glibc-2.28.tar.gz
$ cd glibc-2.28
# 创建临时文件
$ mkdir build && cd build
$ ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

# 这一步时, 发生了错误, 提示大致为
These critical programs are missing or too old: make compiler

升级gcc与make

安装GLIBC所需的依赖 可以在 glibc 目录下的INSTALL中找到, 该版本需要 GCC 4.9 以上 及 make 4.0 以上

升级gcc
代码语言:shell
复制
# 直接安装 GCC-8
$ yum install -y devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils
# 设置环境变量
$ echo "source /opt/rh/devtoolset-8/enable" >> /etc/profile
$ source /etc/profile
升级 make
代码语言:shell
复制
$ wget https://ftp.gnu.org/gnu/make/make-4.3.tar.gz
$ tar -xzvf make-4.3.tar.gz 
$ cd make-4.3/
# 安装到指定目录
$ ./configure  --prefix=/usr/local/make
$ make
$ make install
# 创建软链接
$ cd /usr/bin/
$ mv make make.bak # backup
$ ln -sv /usr/local/make/bin/make /usr/bin/make

继续编译 glibc

代码语言:shell
复制
# 进入之前的 `~/glibc-2.28/build`目录下
$ cd /root/glibc-2.28/build
$ ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
$ make
$ make install
# 查询
$ strings /lib64/libc.so.6 | grep GLIBC
...
GLIBC_2.22
GLIBC_2.23
GLIBC_2.24
GLIBC_2.25
GLIBC_2.26
GLIBC_2.27
GLIBC_2.28
GLIBC_PRIVATE
...

参考

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装 glibc-2.28
    • 升级gcc与make
      • 升级gcc
      • 升级 make
  • 继续编译 glibc
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档